.TH shutdown 8 2009-07-09 "Upstart"
.\"
.SH NAME
shutdown \- bring the system down
.\"
.SH SYNOPSIS
.B shutdown
.RI [ OPTION ]...
.I TIME
.RI [ MESSAGE ]
.\"
.SH DESCRIPTION
.B shutdown
arranges for the system to be brought down in a safe way.  All logged-in
users are notified that the system is going down and, within the last
five minutes of
.IR TIME ,
new logins are prevented.

.I TIME
may have different formats, the most common is simply the word
.RI ' now '
which will bring the system down immediately.  Other valid formats are
.IR +m ,
where
.I m
is the number of minutes to wait until shutting down and
.I hh:mm
which specifies the time on the 24hr clock.

Once
.I TIME
has elapsed,
.B shutdown
sends a request to the
.BR init (8)
daemon to bring the system down into the appropriate runlevel.

This is performed by emitting the
.BR runlevel (7)
event, which includes the new runlevel in the
.B RUNLEVEL
environment variable as well as the previous runlevel (obtained from the
environment or from
.IR /var/run/utmp )
in the
.B PREVLEVEL
variable.  An additional
.B INIT_HALT
variable may be set, this will contain the value
.I HALT
when bringing the system down for halt and
.I POWEROFF
when bringing the system down for power off.
.\"
.SH OPTIONS
.TP
.BR -r
Requests that the system be rebooted after it has been brought down.
.\"
.TP
.BR -h
Requests that the system be either halted or powered off after it has been
brought down, with the choice as to which left up to the system.
.\"
.TP
.BR -H
Requests that the system be halted after it has been brought down.
.\"
.TP
.BR -P
Requests that the system be powered off after it has been brought down.
.\"
.TP
.BR -c
Cancels a running shutdown.
.I TIME
is not specified with this option, the first argument is
.I MESSAGE.
.\"
.TP
.BR -k
Only send out the warning messages and disable logins, do not actually
bring the system down.
.\"
.SH ENVIRONMENT
.TP
.B RUNLEVEL
.B shutdown
will read the current runlevel from this environment variable if set in
preference to reading from
.I /var/run/utmp
.\"
.SH FILES
.TP
.I /var/run/utmp
Where the current runlevel will be read from; this file will also be updated
with the new runlevel.
.\"
.TP
.I /var/log/wtmp
A new runlevel record will be appended to this file for the new runlevel.
.\"
.SH NOTES
The Upstart
.BR init (8)
daemon does not keep track of runlevels itself, instead they are implemented
entirely by its userspace tools.

See
.BR runlevel (7)
for more details.
.\"
.SH AUTHOR
Written by Scott James Remnant
.RB < scott@netsplit.com >
.\"
.SH REPORTING BUGS
Report bugs at
.RB < https://launchpad.net/upstart/+bugs >
.\"
.SH COPYRIGHT
Copyright \(co 2009 Canonical Ltd.
.br
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.\"
.SH SEE ALSO
.BR runlevel (7)
.BR init (8)
.BR telinit (8)
.BR reboot (8)
